package org.yanse.algorithms.sort;

/**
 * 冒牌排序(默认升序)
 * 原理
 * 1.当前与后一位比较，大数往后排，保证每次排序将最大值排到后面
 * 2.排n-1次后结束
 */
public class BubbleSort {
    public static void sort(int[] arrays) {
        for (int i = 0; i < arrays.length - 1; i++) {
            // 遍历一轮没有需要交换的说明排好了
            boolean flag = true;
            for (int j = 0; j < arrays.length - 1 - i; j++) {
                if (arrays[j] > arrays[j + 1]) {
                    int temp = arrays[j];
                    arrays[j] = arrays[j + 1];
                    arrays[j + 1] = temp;
                    flag = false;
                }
            }
            if (flag) {
                break;
            }
        }
    }
}
